Through economic growth, mergers and acquisitions, business enterprises are becoming ever larger. Further, large business enterprises in the field of high technology now offer ever larger numbers of products and services that derive from an increasingly large variety of technologies.
In this environment, managing the creation, use, and maintenance of the company's intellectual assets, such as products and technologies is an acute problem. As an enterprise grows, maintaining consistent usage of names of products and services throughout the enterprise becomes even more challenging. When an enterprise derives its business opportunities from research and development into new technologies or improvements of existing technologies, maintaining consistent usage of technology designations is a challenge, especially when there is disagreement or confusion about the uses, advantages or benefits of a particular technology. Such confusion can arise whether disagreements arise or not, as when there is no communication between different teams within an enterprise.
The World Wide Web is one communication medium that exacerbates the problem, by showing internal information to the enterprise's partners and customers. Large enterprises that own or operate complex Web sites or other network resources that contain product and technology information face a related problem. Specifically, ensuring consistent usage of product names and technology terms across a large, complicated Web site is problematic. A particular problem involves maintaining consistent use of terms when different parts or elements of the Web site applications are created or content is authored by different individuals or groups.
Based on the foregoing, there is a clear need for improved ways to manage one or more vocabularies of all company business practices and pertaining to all business terminology (“concept”), including but not limited to product names and technology terms.
In particular, there is a need for a way to structure stored information about those concepts so that it can be located and navigated easily regardless of who authored the information and where the information resides.
There is also a need for a system that can rapidly and efficiently select vocabulary concepts and related information from among a large volume of stored information that is inter-related by overlapping hierarchies, and deliver the selected information to another system for use in assembling electronic documents based on the selected information.
There is also a need for a way to deliver information distributed over one or more networks that is relevant to a user query based on the vocabulary information to individuals who are distributed among many groups of a large enterprise, or who are outside the enterprise.
There is also need for a system that is extensible or adaptable when new business practices, products or technologies are developed by diverse, distributed groups in a large business enterprise.
A system that meets the foregoing needs is useful for managing highly complex Web sites and similar information resources that can store, retrieve and deliver vast amounts of information to clients. Moreover, the information that is delivered can be provided in a personalized manner. Based on a client query, dynamic pages are constructed from individual information object components, and delivered in assembled form, with content responsive to the query. While such systems are powerful, they are also extremely complex and are required to rapidly deliver large amounts of information.
Accordingly, there is a need for a system having the foregoing characteristics that can provide improved performance. Specifically, a complex Web site based on the foregoing is required to perform as fast as possible to improve customer satisfaction and experience.
Past approaches involve caching Web site pages. An example of a commercial product series representing such past approaches is the Cisco 500. Series Cache Engine, e.g., the Cisco 550. Cache Engine. However, in these past approaches, electronic documents or Web site pages are created in advance in a fixed form (“static pages”) and therefore are easily stored in a cache and delivered from the cache to clients. But when virtually all the pages delivered from the Web site are dynamic, and are created based on individual component information objects, use of traditional caching approaches is impossible because there is no way to cache a dynamically constructed page.
Another deficiency of such prior approaches is that they cannot cache multiple versions of electronic documents that are only slightly different, such as pre-rendered Web site pages that are “personalized” by association with a specific client.
Thus, there is a need for a way to cache dynamically generated electronic documents, such as Web site pages.
There is a particular need for a way to efficiently cache the information objects that form components of dynamically constructed electronic documents, in a manner that is compatible with the foregoing characteristics, so that requested information objects are rapidly and efficiently delivered from a data store that holds the information objects.